#ifndef     __Board_HPP
#define     __Board_HPP

#include    <QMap>
#include <QPair>

class       Board
{
public:
    ~Board();

    void            setPlayerAt(int player, int x, int y);
    int             getAt(int, int);
    int             getMaskMove(bool, int);
    int             getMaskPlace(int);
    QMap<int,int>&  getBoard();

    void            display();
    void            deleteBetween(int, const QList<int>&);


    static Board*   getInstance();

private:
    QMap<int,int>			_board;
    QMap<int,int>			_maskPlace;
    QMap<int, QPair<int,int> >	_maskMove;
    static Board*			instance;

    Board();

    void            setAt(int, int, int);
};

#endif // Board_HPP
